package com.rain.codemother.service;

import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.core.service.IService;
import com.rain.codemother.model.dto.app.AppAddRequest;
import com.rain.codemother.model.dto.app.AppQueryRequest;
import com.rain.codemother.model.entity.App;
import com.rain.codemother.model.entity.User;
import com.rain.codemother.model.vo.AppVo;
import reactor.core.publisher.Flux;

import java.io.Serializable;
import java.util.List;


public interface AppService extends IService<App>{
    AppVo getAppVo(App app);

    List<AppVo> getAppVoList(List<App> appList);

    QueryWrapper getQueryWrapper(AppQueryRequest appQueryRequest);

    Flux<String> chatToGenCode(String message,Long appId,User loginUser);

    String deployApp(Long appId,User loginUser);

    boolean removeById(Serializable id);

    Long addApp(AppAddRequest appAddRequest,User loginUser);
}
